package com.wcpdoc.exam.core.dao;

import com.wcpdoc.core.dao.BaseDao;
import com.wcpdoc.core.entity.PageResult;
import com.wcpdoc.exam.core.entity.MyExamMock;
import com.wcpdoc.exam.core.entity.ex.ExamMockInfo;

import java.util.List;
import java.util.Map;

/**
 * 我的模拟考试数据访问层接口
 * 
 */
public interface MyExamMockDao extends BaseDao<MyExamMock>{

	/**
	 * 获取我的考试列表
	 * 
	 * @param examId
	 * @return List<MyExamMock>
	 */
	List<MyExamMock> getList(Integer examId);
	
	/**
	 * 获取我的考试列表
	 * 
	 * @param userId
	 * @return List<MyExamMock>
	 */
	List<MyExamMock> getListForUser(Integer userId);

	/**
	 * 获取我的考试列表
	 * 
	 * @param examId
	 * @param userId
	 * @return MyExamMock
	 */
	MyExamMock getMyExamMock(Integer examId, Integer userId);

	/**
	 * 获取考试列表
	 * 
	 * @param userId
	 * @return List<Exam>
	 */
//	List<MyExamMock> getExamList(Integer userId);

	/**
	 * 我的考试清空
	 * 
	 * @param examId void
	 */
	void clear(Integer examId);

	/**
	 * 查看是否有未交卷的
	 *
	 */
	MyExamMock examUnStart(Integer userId);

	/**
	 * 是否存在正在进行的模拟考试
	 * @param userId
	 * @return
	 */
	PageResult hasJxMockExam(Integer userId);

	/**
	 * 超时未提交的模拟考试
	 * @return
	 */
	List<MyExamMock> getAllOverMyExam();

	/**
	 * 获取用户的题库试题
	 * @return
	 */
	List<Map<String, Object>> getMyQuestionFromRule(Integer userId);
}
